package hcn.protocol.ods.newdiagnosis;/**
 * @Auther: Administrator
 * @Date: 2019/4/22 20:33
 * @Description:
 */

import lombok.*;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 费用单详细列表返回数据
 *
 * @Create: 2019-04-22 20:33
 **/
@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
@ToString
public class NewGetFeeDetailResponseBean implements Serializable {
    private static final long serialVersionUID = 9114867886300421056L;


    /**
     * deptId : 科室代码
     * deptName : 科室名称
     * doctorId : 医生代码
     * doctorName : 医生姓名
     * feeDate : 开单日期
     * totalFee : 总金额
     * selfPay : 自付金额
     * payMode :
     * payTime :
     * invoiceNumber : 发票号
     * agtOrderNumber : 流水号
     * refundTime : 退款时间
     * refundNumber : 退款流水号
     */

    private String avatar;//头像
    private String reimburseAmount;//医保报销金额
    private String hospitalCode;//医院代码
    private String hospitalName;//医院名称
    private String departmentName;//科室名称
    private String doctorName;//医生名称
    private String payAmount;//自付金额
    private String Dec;//总金额
    private String payType;//支付方式
    private String displayName;//支付名称
    private String refundTime;//结算时间
    private String agtOrderNumber;//流水号
    private String invoiceNumber;//发票号
    private String invoiceStatus;//发票状态
    private String patientCode;//患者唯一码
    private String userName;//患者姓名
    private String patientMedicalCardTypeText;//就诊卡类型
    private String patientMedicalCardNumber;//就诊卡号
    private String insuranceType;//医保类别名称
    private String medicalDate;//就诊时间
    private String paymentNumber;//结算标识
    private String billBatchCode;//电子票据代码
    private String billNo;//电子票据号码
    private String random;//电子校验码
    private String organizationId;//机构代码
    private List<DetailsBeanX> record;

    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    @ToString
    public static class DetailsBeanX {
        /**
         * itemName : 西药费
         * itemCode : 1
         * totalFee : 356.89
         */

        private String feeNo;
        private String feeTypeCode;
        private String feeTypeName;
        private String departmentCode;
        private String departmentName;
        private String doctorCode;
        private String doctorName;
        private String payStatus;
        private String patientName;
        private String feeDate;
        private String totalFee;
        private String checkRequisitionRecordId;
        private String examineRequisitionRecordId;
        private String applicationNo;
        private String consultId;
        private List<DetailsBean> details;

        @NoArgsConstructor
        @Data
        @Builder
        @AllArgsConstructor
        @ToString
        public static class  DetailsBean {
            /**
             * groupNo : 1
             * parentItemCode : 子类项目代码itemCode的大类，为了便于app交互
             * itemCode : 项目代码
             * itemName : 项目名称
             * specification : 项目规格
             * quantity : 数量
             * price : 单价
             * totalFee : 金额
             * remark : 备注
             * dosage : 剂量
             * dosageUnit : 剂量单位
             * frequencyCode : 频次代码
             * frequency : 频次
             * usageCode : 用法代码
             * usage : 用法
             * days : 用药天数
             */

            private String groupNo;
            private String itemCode;
            private String itemName;
            private String specification;
            private String itemNumber;
            private String price;
            private String quantity;
            private String totalFee;
            private String remark;
            private String dosage;
            private String dosageUnit;
            private String frequencyCode;
            private String frequency;
            private int usageCode;
            private String usage;
            private String decoctionDesc;
            private int days;
        }
    }
}
